#ifndef __WATCHPOINT_H__
#define __WATCHPOINT_H__

#include "common.h"

typedef struct watchpoint {
	int NO;
	struct watchpoint *next;
	uint32_t val;
	char expr[32];
	/* TODO: Add more members if necessary */


} WP;
WP* new_wp();      //fetch a free WP from the pool
void free_wp(WP*);     //return the WP to the free link
bool check_wp();		// check if the value change
bool weakcheck_wp(uint32_t pc);
void delete_wp(int no);		//remove WP from  head link
void info_wp();      // print the infomation of the WP
extern void  reg_record (char * str,uint32_t pc, uint32_t regno , uint32_t value);

#endif
